﻿using System;
using System.IO;
using System.IO.Compression;

namespace _019_使用DeflateStream类压缩文件
{
    class Program
    {
        static void Main(string[] args)
        {
            //压缩单个文件

            Console.WriteLine("请输入待缩文件的完整路径（单文件）：");
            string 文件路径 = Console.ReadLine();
            Console.WriteLine("请入压缩后的输出路径（单文件-需要指定文件名）：");
            string 输出路径 = Console.ReadLine();

            //对输入文件进行压缩
            using (FileStream 传入=new FileStream(文件路径,FileMode.Open))
                using (FileStream 输出=new FileStream(输出路径,FileMode.Create))
                using (DeflateStream  压缩操作=new DeflateStream(输出,CompressionLevel.Optimal))  //optimal最佳格式
            {
                传入.CopyTo(压缩操作);
            }

            //执行完文件压缩后，分别输出两个文件的大小，以观看压缩效果。
            FileInfo 原文件 = new FileInfo(文件路径), 压后文件 = new FileInfo(输出路径);
            Console.WriteLine($"原缩前大小：{原文件.Length}");
            Console.WriteLine($"压缩后大小：{压后文件.Length}");

        }
    }
}
